package com.thz.houserental.infrastructure.table;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

/**
 * 文件记录表
 * @TableName file_detail
 */
@Data
@TableName(value ="file_detail")
public class FileDetail implements Serializable {
    @TableId
    private String id;
    
    private String url;

    /**
     * 文件大小，单位字节
     */
    private Long size;

    /**
     * 文件名称
     */
    private String filename;

    /**
     * 原始文件名
     */
    private String originalFilename;

    /**
     * 基础存储路径
     */
    private String basePath;

    /**
     * 存储路径
     */
    private String path;

    /**
     * 文件扩展名
     */
    private String ext;

    /**
     * MIME类型
     */
    private String contentType;

    /**
     * 存储平台
     */
    private String platform;

    /**
     * 缩略图访问路径
     */
    private String thUrl;

    /**
     * 缩略图名称
     */
    private String thFilename;

    /**
     * 缩略图大小，单位字节
     */
    private Long thSize;

    /**
     * 缩略图MIME类型
     */
    private String thContentType;

    /**
     * 文件所属对象id
     */
    private String objectId;

    /**
     * 文件所属对象类型，例如用户头像，评价图片
     */
    private String objectType;

    /**
     * 附加属性
     */
    private String attr;

    /**
     * 创建时间
     */
    private Date createTime;

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;

    /**
     * 文件id
     */
    public String getId() {
        return id;
    }

    /**
     * 文件id
     */
    public void setId(String id) {
        this.id = id;
    }

    /**
     * 文件访问地址
     */
    public String getUrl() {
        return url;
    }

    /**
     * 文件访问地址
     */
    public void setUrl(String url) {
        this.url = url;
    }

    /**
     * 文件大小，单位字节
     */
    public Long getSize() {
        return size;
    }

    /**
     * 文件大小，单位字节
     */
    public void setSize(Long size) {
        this.size = size;
    }

    /**
     * 文件名称
     */
    public String getFilename() {
        return filename;
    }

    /**
     * 文件名称
     */
    public void setFilename(String filename) {
        this.filename = filename;
    }

    /**
     * 原始文件名
     */
    public String getOriginalFilename() {
        return originalFilename;
    }

    /**
     * 原始文件名
     */
    public void setOriginalFilename(String originalFilename) {
        this.originalFilename = originalFilename;
    }

    /**
     * 基础存储路径
     */
    public String getBasePath() {
        return basePath;
    }

    /**
     * 基础存储路径
     */
    public void setBasePath(String basePath) {
        this.basePath = basePath;
    }

    /**
     * 存储路径
     */
    public String getPath() {
        return path;
    }

    /**
     * 存储路径
     */
    public void setPath(String path) {
        this.path = path;
    }

    /**
     * 文件扩展名
     */
    public String getExt() {
        return ext;
    }

    /**
     * 文件扩展名
     */
    public void setExt(String ext) {
        this.ext = ext;
    }

    /**
     * MIME类型
     */
    public String getContentType() {
        return contentType;
    }

    /**
     * MIME类型
     */
    public void setContentType(String contentType) {
        this.contentType = contentType;
    }

    /**
     * 存储平台
     */
    public String getPlatform() {
        return platform;
    }

    /**
     * 存储平台
     */
    public void setPlatform(String platform) {
        this.platform = platform;
    }

    /**
     * 缩略图访问路径
     */
    public String getThUrl() {
        return thUrl;
    }

    /**
     * 缩略图访问路径
     */
    public void setThUrl(String thUrl) {
        this.thUrl = thUrl;
    }

    /**
     * 缩略图名称
     */
    public String getThFilename() {
        return thFilename;
    }

    /**
     * 缩略图名称
     */
    public void setThFilename(String thFilename) {
        this.thFilename = thFilename;
    }

    /**
     * 缩略图大小，单位字节
     */
    public Long getThSize() {
        return thSize;
    }

    /**
     * 缩略图大小，单位字节
     */
    public void setThSize(Long thSize) {
        this.thSize = thSize;
    }

    /**
     * 缩略图MIME类型
     */
    public String getThContentType() {
        return thContentType;
    }

    /**
     * 缩略图MIME类型
     */
    public void setThContentType(String thContentType) {
        this.thContentType = thContentType;
    }

    /**
     * 文件所属对象id
     */
    public String getObjectId() {
        return objectId;
    }

    /**
     * 文件所属对象id
     */
    public void setObjectId(String objectId) {
        this.objectId = objectId;
    }

    /**
     * 文件所属对象类型，例如用户头像，评价图片
     */
    public String getObjectType() {
        return objectType;
    }

    /**
     * 文件所属对象类型，例如用户头像，评价图片
     */
    public void setObjectType(String objectType) {
        this.objectType = objectType;
    }

    /**
     * 附加属性
     */
    public String getAttr() {
        return attr;
    }

    /**
     * 附加属性
     */
    public void setAttr(String attr) {
        this.attr = attr;
    }

    /**
     * 创建时间
     */
    public Date getCreateTime() {
        return createTime;
    }

    /**
     * 创建时间
     */
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }
}